package com.enjoyor.soa.traffic.api.dto.iems;

import java.io.Serializable;
import java.util.Date;

import sun.misc.BASE64Encoder;

/**
 * @author 周宏伟
 * @date 2017年5月4日
 * @email zhouhongwei@enjoyor.net
 * @description 兴趣点资源对象
 */
@SuppressWarnings("restriction")
public class ResourcePointDto implements Serializable {

	/**
	 * 版本号
	 */
	private static final long serialVersionUID = 1L;
	/**
	 * 编号
	 */
	private String id;
	/**
	 * 名称
	 */
	private String name;
	/**
	 * 地址
	 */
	private String address;
	/**
	 * 联系人
	 */
	private String contacter;
	/**
	 * 联系电话
	 */
	private String telephone;
	/**
	 * 经度
	 */
	private Double longitude;
	/**
	 * 纬度
	 */
	private Double latitude;
	/**
	 * 类型编号
	 */
	private String typeId;
	/**
	 * 类型名称
	 */
	private String typeName;
	/**
	 * 子类型编号
	 */
	private String subTypeId;
	/**
	 * 子类型名称
	 */
	private String subTypeName;
	/**
	 * 写入人编号
	 */
	private String insertPersonId;
	/**
	 * 写入人名称
	 */
	private String insertPersonName;
	/**
	 * 写入时间
	 */
	private Date insertTime;
	/**
	 * 更新人编号
	 */
	private String updatePersonId;
	/**
	 * 更新人名称
	 */
	private String updatePersonName;
	/**
	 * 更新时间
	 */
	private Date updateTime;
	/**
	 * 描述
	 */
	private String description;
	/**
	 * 实景图片路径
	 */
	private String imageUrl;
	/**
	 * 实景图片
	 */
	private byte[] realImage;

	/** 批处理流水号 */
	private String batchId;

	/** 事件编号 */
	private String eventId;

	/** 预案编号 */
	private String planId;

	/**
	 * 获取编号
	 * 
	 * @return id 编号
	 */
	public String getId() {
		return id;
	}

	/**
	 * 设置编号
	 * 
	 * @param id
	 *            编号
	 */
	public void setId(String id) {
		this.id = id;
	}

	/**
	 * 获取名称
	 * 
	 * @return name 名称
	 */
	public String getName() {
		return name;
	}

	/**
	 * 设置名称
	 * 
	 * @param name
	 *            名称
	 */
	public void setName(String name) {
		this.name = name;
	}

	/**
	 * 获取地址
	 * 
	 * @return address 地址
	 */
	public String getAddress() {
		return address;
	}

	/**
	 * 设置地址
	 * 
	 * @param address
	 *            地址
	 */
	public void setAddress(String address) {
		this.address = address;
	}

	/**
	 * 获取联系人
	 * 
	 * @return contacter 联系人
	 */
	public String getContacter() {
		return contacter;
	}

	/**
	 * 设置联系人
	 * 
	 * @param contacter
	 *            联系人
	 */
	public void setContacter(String contacter) {
		this.contacter = contacter;
	}

	/**
	 * 获取联系电话
	 * 
	 * @return telephone 联系电话
	 */
	public String getTelephone() {
		return telephone;
	}

	/**
	 * 设置联系电话
	 * 
	 * @param telephone
	 *            联系电话
	 */
	public void setTelephone(String telephone) {
		this.telephone = telephone;
	}

	/**
	 * 获取经度
	 * 
	 * @return longitude 经度
	 */
	public Double getLongitude() {
		return longitude;
	}

	/**
	 * 设置经度
	 * 
	 * @param longitude
	 *            经度
	 */
	public void setLongitude(Double longitude) {
		this.longitude = longitude;
	}

	/**
	 * 获取纬度
	 * 
	 * @return latitude 纬度
	 */
	public Double getLatitude() {
		return latitude;
	}

	/**
	 * 设置纬度
	 * 
	 * @param latitude
	 *            纬度
	 */
	public void setLatitude(Double latitude) {
		this.latitude = latitude;
	}

	/**
	 * 获取类型编号
	 * 
	 * @return typeId 类型编号
	 */
	public String getTypeId() {
		return typeId;
	}

	/**
	 * 设置类型编号
	 * 
	 * @param typeId
	 *            类型编号
	 */
	public void setTypeId(String typeId) {
		this.typeId = typeId;
	}

	/**
	 * 获取类型名称
	 * 
	 * @return typeName 类型名称
	 */
	public String getTypeName() {
		return typeName;
	}

	/**
	 * 设置类型名称
	 * 
	 * @param typeName
	 *            类型名称
	 */
	public void setTypeName(String typeName) {
		this.typeName = typeName;
	}

	/**
	 * 获取子类型编号
	 * 
	 * @return subTypeId 子类型编号
	 */
	public String getSubTypeId() {
		return subTypeId;
	}

	/**
	 * 设置子类型编号
	 * 
	 * @param subTypeId
	 *            子类型编号
	 */
	public void setSubTypeId(String subTypeId) {
		this.subTypeId = subTypeId;
	}

	/**
	 * 获取子类型名称
	 * 
	 * @return subTypeName 子类型名称
	 */
	public String getSubTypeName() {
		return subTypeName;
	}

	/**
	 * 设置子类型名称
	 * 
	 * @param subTypeName
	 *            子类型名称
	 */
	public void setSubTypeName(String subTypeName) {
		this.subTypeName = subTypeName;
	}

	/**
	 * 获取写入人编号
	 * 
	 * @return insertPersonId 写入人编号
	 */
	public String getInsertPersonId() {
		return insertPersonId;
	}

	/**
	 * 设置写入人编号
	 * 
	 * @param insertPersonId
	 *            写入人编号
	 */
	public void setInsertPersonId(String insertPersonId) {
		this.insertPersonId = insertPersonId;
	}

	/**
	 * 获取写入人名称
	 * 
	 * @return insertPersonName 写入人名称
	 */
	public String getInsertPersonName() {
		return insertPersonName;
	}

	/**
	 * 设置写入人名称
	 * 
	 * @param insertPersonName
	 *            写入人名称
	 */
	public void setInsertPersonName(String insertPersonName) {
		this.insertPersonName = insertPersonName;
	}

	/**
	 * 获取写入时间
	 * 
	 * @return insertTime 写入时间
	 */
	public Date getInsertTime() {
		return insertTime;
	}

	/**
	 * 设置写入时间
	 * 
	 * @param insertTime
	 *            写入时间
	 */
	public void setInsertTime(Date insertTime) {
		this.insertTime = insertTime;
	}

	/**
	 * 获取更新人编号
	 * 
	 * @return updatePersonId 更新人编号
	 */
	public String getUpdatePersonId() {
		return updatePersonId;
	}

	/**
	 * 设置更新人编号
	 * 
	 * @param updatePersonId
	 *            更新人编号
	 */
	public void setUpdatePersonId(String updatePersonId) {
		this.updatePersonId = updatePersonId;
	}

	/**
	 * 获取更新人名称
	 * 
	 * @return updatePersonName 更新人名称
	 */
	public String getUpdatePersonName() {
		return updatePersonName;
	}

	/**
	 * 设置更新人名称
	 * 
	 * @param updatePersonName
	 *            更新人名称
	 */
	public void setUpdatePersonName(String updatePersonName) {
		this.updatePersonName = updatePersonName;
	}

	/**
	 * 获取更新时间
	 * 
	 * @return updateTime 更新时间
	 */
	public Date getUpdateTime() {
		return updateTime;
	}

	/**
	 * 设置更新时间
	 * 
	 * @param updateTime
	 *            更新时间
	 */
	public void setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
	}

	/**
	 * 获取描述
	 * 
	 * @return description 描述
	 */
	public String getDescription() {
		return description;
	}

	/**
	 * 设置描述
	 * 
	 * @param description
	 *            描述
	 */
	public void setDescription(String description) {
		this.description = description;
	}

	/**
	 * 获取实景图片路径
	 * 
	 * @return imageUrl 实景图片路径
	 */
	public String getImageUrl() {
		return imageUrl;
	}

	/**
	 * 设置实景图片路径
	 * 
	 * @param imageUrl
	 *            实景图片路径
	 */
	public void setImageUrl(byte[] realImage) {
		BASE64Encoder encoder = new BASE64Encoder();
		this.imageUrl = encoder.encodeBuffer(realImage);
	}

	/**
	 * 获取实景图片
	 * 
	 * @return realImage 实景图片
	 */
	public byte[] getRealImage() {
		return realImage;
	}

	/**
	 * 设置实景图片
	 * 
	 * @param realImage
	 *            实景图片
	 */
	public void setRealImage(byte[] realImage) {
		this.realImage = realImage;
	}

	/**
	 * 返回batchId
	 * 
	 * @return batchId
	 */
	public String getBatchId() {
		return batchId;
	}

	/**
	 * 设置 batchId
	 * 
	 * @param batchId
	 *            batchId
	 */
	public void setBatchId(String batchId) {
		this.batchId = batchId;
	}

	/**
	 * 返回eventId
	 * 
	 * @return eventId
	 */
	public String getEventId() {
		return eventId;
	}

	/**
	 * 设置 eventId
	 * 
	 * @param eventId
	 *            eventId
	 */
	public void setEventId(String eventId) {
		this.eventId = eventId;
	}

	/**
	 * 返回planId
	 * 
	 * @return planId
	 */
	public String getPlanId() {
		return planId;
	}

	/**
	 * 设置 planId
	 * 
	 * @param planId
	 *            planId
	 */
	public void setPlanId(String planId) {
		this.planId = planId;
	}

}
